;(function(){

			// Menu settings
			$('#menuToggle, .menu-close').on('click', function(){
				$('#menuToggle').toggleClass('active');
				$('body').toggleClass('body-push-toleft');
				$('#theMenu').toggleClass('menu-open');
			});

			$('#menuToggleL, .menu-closeL').on('click', function(){
				$('#menuToggleL').toggleClass('active');
				$('body').toggleClass('body-push-toright');
				$('#theMenuL').toggleClass('menu-openL');
			});

	
})(jQuery)

	function mostrarMensaje(mensaje, tipo){
	
			var cont = $("<div class='alert alert-" + ((tipo==1)? "success" : "danger") + " alert-dismissible alert-link fade in' role='alert'>"
							+ "<button type='button' class='close' data-dismiss='alert'>"
							+ "<span aria-hidden='true'>&times;</span>"
							+ "</button>"
							+ "<strong>"+ ((tipo==1)? "¡Éxito!": "¡Error!") + "</strong> <a href=''>"+ mensaje+ "</a>"
							+ "</div>");
			
			$(cont).appendTo(".alerts");

			$(cont).fadeOut(10000, 0);

			$(cont).hover(
				function(){
					$(this).stop(true,true).fadeIn();

				},
				function(){
					$(this).fadeOut(4000, 0);
				}
			);
	}


	/*Función que permite convertir una matriz en un formato json, es especialmente
	 * utilizada para hacer llamadas ajax al servidor. 
	 * parámetros de entrada:
	 * 		m: arreglo con los datos a convertir
	 * valor de salida:
	 * 		un objeto json.
	 * 
	 * ejemplo:
	 * 		entrada
	 * 			Array("m_modulo","periodo", "m_vista","listarTrayectos","codPeriodo", 101);
	 * 
	 * 		salida:
	 * 			{m_modulo:"periodo", m_vista:"listarTrayectos",codPeriodo: 101}
	 */
	function armarDato(m){
		var data = {m_formato: "json"};
		for (i = 0 ; i < m.length; i+= 2)
			data[m[i]]  = m[i+1];
		return data;
	}
	/* Función que permite hacer una llamada ajax al servidor. Es específica del MVC
	 * Parámtros de entrada:
	 * arr: arreglo que contiene los parámetros a enviar al servidor, las posiciones
	 *    impares representan el nombre del parámetro, las posiciones pares 
	 * 	  representan el valor del parámetro de la posición anterior
	 * 		ejemplo: 
	 * 		var m = Array("m_modulo","periodo",
							"m_accion","listarTrayectos",
							"m_vista","listarTrayectos",
							"codPeriodo", 101);
		funcSucc: parámetro que representa la función que se ejecutará cuando 
	 *         la llamada ajax tenga éxito. 
	 *	funcErr: parámetro que representa la función que se ejecutará cuando 
	 * 			la llamada ajax presente un error.
	 */ 
	function ajaxMVC(arr, funcSucc, funcErr){
		$.ajax({
				type:"post",
				dataType:"json",
				url: "index.php",
				data: armarDato(arr),
				success: funcSucc,
				//error:(funcErr==null)? alert('Error de comunicación con el servidor'): funcErr
				error: funcErr
			});	
	}

	function crearDialogo(id,titulo, accionBoton, segundoTitulo){
		$('#'+id).remove();

		$('<div class="modal fade" id="'+id+'" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">'+
			'<div class="modal-dialog">'+
				'<div class="modal-content">'+
					'<div class="modal-header">'+
						'<button type="button" class="close" data-dismiss="modal">'+
						'<span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>'+
						'<h3 class="modal-title" id="myModalLabel">'+titulo+'</h4>'+
						'<h4 class="modal-title" id="myModalLabel">'+segundoTitulo+'</h4>'+
					'</div>'+
					'<div class="modal-body">'+
					

					'</div>'+
					'<div class="modal-footer">'+
						'<button type="button" class="btn btn-success" onclick="'+accionBoton+'">Guardar</button>'+
						'<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>'+
					'</div>'+
				'</div>'+
			'</div>'+
		'</div>').appendTo("body");
	}

	function cargarModalHTML(html){
		$(html).appendTo("modal-body");
	}

	function cargarModalRuta(ruta){
		$("modal-header").load(ruta);
	}

	function cargarModal(arg,html){
		if(html)
			cargarModalHTML(arg);
		else
			cargarModalRuta(arg);
	}
